package cn.wolfcode.crm.service;

import cn.wolfcode.crm.domain.MemberInfo;
import cn.wolfcode.crm.qo.MemberInfoQueryObject;
import cn.wolfcode.crm.qo.PageResult;
import cn.wolfcode.crm.qo.QueryObject;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface IMemberInfoService {
    void saveOrUpdate(MemberInfo entity);
    void changeState(Long id);
    MemberInfo get(Long id);
    List<MemberInfo> selectAll();

    PageResult queryForList(QueryObject qo);

    /**
     *
     **会员消费,改变会员卡上余额
     * @param id 指定的会员id
     * @param consumption 消费
     * @param billId 会员消费的订单号
     */

    void vipConsume(Long id, BigDecimal consumption,Long billId );


    MemberInfo queryByCardNumber(String cardNumber);

    PageResult selectMemberConsumeInfo(MemberInfoQueryObject qo);

    Map<String,Object> selectData();
}
